/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mainserver;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author fernadobl
 */
public class FileManipulation {
    
    private File diretorio;
    private File arquivo;
    private String fileList[];
    
    public FileManipulation(String dirName)
    {
        diretorio = new File(dirName);
    }
    
    public void listagem(){
       fileList = diretorio.list();
       for (int i=0; i<fileList.length; i++) 
            System.out.println(fileList[i]);
    }
    
    public String[] returnList(){
       fileList = diretorio.list();
       return fileList;
    }
    
    public void cria(String fileName){
       arquivo = new File(diretorio,fileName);
        try {
            arquivo.createNewFile();
        } catch (IOException ex) {
            Logger.getLogger(FileManipulation.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public boolean existe(String fileName){
       arquivo = new File(diretorio, fileName);
       return(arquivo.exists());
    }
    
    public void remove(String fileName){
        arquivo = new File(diretorio, fileName);
        arquivo.delete();
    }
    
    public void execute() throws IOException
    {
        Scanner scanner = new Scanner(System.in); 
        String opcao;
        String partes[];
        while(true){
            opcao = scanner.nextLine();  
            switch (opcao) {
                case "ls":
                    listagem();
                    break;
                case "exit":
                    System.exit(1);
                    break;
                default:
                    partes = opcao.split(" ");
                    switch (partes[0]) {
                        case "rm":
                            remove(partes[1]);
                            break;
                        case "mk":
                            cria(partes[1]);
                            break;
                        case "ex":
                            System.out.println(existe(partes[1]));
                            break;
                        default:
                            System.out.println("Comando não reconhecido");
                            break;
                    }
            }
        }
    }
}
